package ru.compft.web.beans;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * User: VVasiliev
 * Date: 14.06.12
 * Time: 13:32
 * Бин представляющий право доступа системы для дальнейших операций над ней (CRUD)
 */
public class PermissionBean implements Serializable {
    private static final long serialVersionUID = -4113845270327004603L;

    private Long id;
    private String code; // Код
    private String name; // Название
    private String description; // Описание
    private List<RoleBean> roles; // роли

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public List<RoleBean> getRoles() {
        return roles;
    }

    public void setRoles(List<RoleBean> roles) {
        this.roles = roles;
    }

    public void addRole(RoleBean roleBean) {
        if (getRoles() == null) setRoles(new ArrayList<RoleBean>());

        getRoles().add(roleBean);
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder();
        sb.append("PermissionBean");
        sb.append("{id=").append(id);
        sb.append(", code='").append(code).append('\'');
        sb.append(", name='").append(name).append('\'');
        sb.append(", description='").append(description).append('\'');
        sb.append(", roles=").append(roles);
        sb.append('}');
        return sb.toString();
    }
}
